Meteor.startup ->
	Migrations.add
		version: 18
		up: ->
			changes =
				Accounts_Facebook: 'Accounts_OAuth_Facebook'
				Accounts_Facebook_id: 'Accounts_OAuth_Facebook_id'
				Accounts_Facebook_secret: 'Accounts_OAuth_Facebook_secret'
				Accounts_Google: 'Accounts_OAuth_Google'
				Accounts_Google_id: 'Accounts_OAuth_Google_id'
				Accounts_Google_secret: 'Accounts_OAuth_Google_secret'
				Accounts_Github: 'Accounts_OAuth_Github'
				Accounts_Github_id: 'Accounts_OAuth_Github_id'
				Accounts_Github_secret: 'Accounts_OAuth_Github_secret'
				Accounts_Gitlab: 'Accounts_OAuth_Gitlab'
				Accounts_Gitlab_id: 'Accounts_OAuth_Gitlab_id'
				Accounts_Gitlab_secret: 'Accounts_OAuth_Gitlab_secret'
				Accounts_Linkedin: 'Accounts_OAuth_Linkedin'
				Accounts_Linkedin_id: 'Accounts_OAuth_Linkedin_id'
				Accounts_Linkedin_secret: 'Accounts_OAuth_Linkedin_secret'
				Accounts_Meteor: 'Accounts_OAuth_Meteor'
				Accounts_Meteor_id: 'Accounts_OAuth_Meteor_id'
				Accounts_Meteor_secret: 'Accounts_OAuth_Meteor_secret'
				Accounts_Twitter: 'Accounts_OAuth_Twitter'
				Accounts_Twitter_id: 'Accounts_OAuth_Twitter_id'
				Accounts_Twitter_secret: 'Accounts_OAuth_Twitter_secret'

			for from, to of changes
				record = RocketChat.models.Settings.findOne _id: from
				if record?
					delete record._id
					RocketChat.models.Settings.upsert {_id: to}, record
				RocketChat.models.Settings.remove _id: from

			ServiceConfiguration.configurations.remove({})
